import Vue from 'vue'
import Vuex from 'vuex'
import persistedState from 'vuex-persistedstate'
import mutations from './mutations.js'
import actions from './actions.js'
import getters from './getters.js'

Vue.use(Vuex)
const state = {
    userInfo: { //用户信息
        // _id: "",
        // adminFlag: false,
        // loginStatus: false,
        // welcomeFlag: true,
        // userName: "user",
        // address: "cn",
        // phone: "157********",
        // email: "********@**.com",
        // avatar: "",
    },
    welcomeFlag: true,
    projects: [//用户项目
        // {
        // projectName:"",//项目名称
        // address: "",//项目地址
        // structuralType:"",//结构类型
        // createdTime: "",//创建时间
        // openStatus: "",//开放状态
        // img: "",//项目图片
        // }
    ],
    openingProjects: [//申请开放中项目,一定要写成数组才不会出错,否则下一次打开就是白的

    ],
    openedProjects: [//开放成功的项目

    ],
    authorizingProjects: [//申请授权中的项目

    ],
    authorizedProjects: [//授权成功的项目
    ],
    authProjects: [//授权项目

    ],
    applicationProjects: {//申请项目
        getAuthed: [],
        toQuest: [],
    },
    posts: [],//首页通告列表
    activeTab: "first",//默认活动tab页
    toogleSideBar: false,//隐藏/显示侧边栏项目中心
    project: [

    ]
    ,


    projectInfo: {
        lifeEstimationInfo: {
            damageTimes: 0,
            statusLevel: "A"
        },
        project_nam: {},
        id: {},
        address: {},
        img: {},

    },
    // threeDatas: [],
    messageData: {

        // 1: {
        //     sid: 2,
        //     temperature: "35.3",
        //     stype: "应力",
        //     unit: "MPa",
        //     value: -3.51,
        //     lmax: 1.732,
        //     lmin: -0.32
        // },
        // 2: {
        //     sid: 2,
        //     temperature: "35.3",
        //     stype: "应力",
        //     unit: "MPa",
        //     value: -3.51,
        //     lamx: 1.732,
        //     lmin: -0.32
        // },
    },
    baseDataInfo: {},
    //存储加载过来以后的模型数据
    modelDatas: {},


    //存放token，让其真正发挥作用,没有登录的过程的时候就从浏览器中取，这种做法才是保险的做法
    token: localStorage.getItem("token") || ''
}

export default new Vuex.Store({
    // strict: process.env.NODE_ENV !== 'production',
    strict: false,
    state,
    getters,
    actions,
    mutations,
    plugins: [
        persistedState({ storage: window.sessionStorage })
    ]
})